import { defineStore } from 'pinia'
import { ref } from 'vue'
export const usePlayListStore = defineStore(
  'play-list',
  () => {
    // 歌单列表
    // [
    //    {
    //      title: '我的收藏',
    //      list: [{
    //             name: '歌名',
    //             audio_url:
    //               'http://lw.sycdn.kuwo.cn/886eb2d5d23f206a12d68201545a8e8a/66d465dc/resource/30106/trackmedia/M800000IZDO70yZWXT.mp3',
    //             singer: '歌手',
    //             album: '专辑',
    //             cover:
    //               'http://p2.music.126.net/34YW1QtKxJ_3YnX9ZzKhzw==/2946691234868155.jpg?param=300x300',
    //             rid: '',
    //             msg: ''
    //           }]
    //    }
    // ]
    const playList = ref([
      {
        title: '我的收藏',
        list: []
      }
    ])
    // const setPlayList = (arr) => {
    //   playList.value = arr
    // }
    // const getPlayList = () => {
    //   return playList.value
    // }

    // 新增歌单
    const addPlay = (obj) => {
      playList.value.push(obj)
    }
    // 列表信息
    // [
    //   {
    //     title: '',
    //     total: playList[].length,
    //     name: '',
    //     singer: ''
    //   }
    // ]
    // const playListInfo = ref([])
    const getListInfo = () => {
      // let playListInfo = null
      // if (playListVO.length > 0) {
      return playList.value.map((item, index) => {
        return {
          id: index,
          title: item.title,
          total: item.list.length,
          name: item.list[0]?.name || '',
          singer: item.list[0]?.singer || ''
        }
      })
    }
    // 获取某项歌单
    const getListItem = (index) => {
      return playList.value[index]
    }
    // 删除某项歌单
    const delListItem = (index) => {
      playList.value.splice(index, 1)
    }
    // 添加至歌单
    const addListItem = (musicArr, indexArr) => {
      indexArr.forEach((item) => {
        playList.value[item].list.push(...musicArr)
      })
    }
    return {
      // 歌单列表
      playList,
      addPlay, // 新增歌单
      getListInfo, // 获取歌单列表信息
      getListItem, // 获取某项歌单
      delListItem,
      addListItem
    }
  },
  {
    persist: true // 持久化
  }
)
